#ifndef JOB_H
#define JOB_H

class Job {
	public:
		Job(int w, int h, double topLeftX, double topLeftY, double scale, int limit, double *buffer);
		virtual ~Job();
		virtual void execute() = 0;
	protected:
		int w_, h_;
		double topLeftX_;
		double topLeftY_;
		double scale_;
		int limit_;
		double *buffer_;
};

class DoubleJob : public Job {
	public:
		DoubleJob(int w, int h, double topLeftX, double topLeftY, double scale, int limit, double *buffer);
		~DoubleJob();
		virtual void execute();
};


#endif
